<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /* 
        作用:作用反转数组 但是不排序 
        语法:数组.reverse()
        返回值:反转以后的数组
        */

        // var heros = ['李白','孙悟空','上官婉儿','花木兰','司马懿','赵云'];
        // console.log('原数组',heros);
        // var res = heros.reverse();

        // console.log(heros);
        // // ['赵云', '司马懿', '花木兰', '上官婉儿', '孙悟空', '李白']
        // console.log(res);
        // //  ['赵云', '司马懿', '花木兰', '上官婉儿', '孙悟空', '李白']
        // 不排序 仅仅反转  原数组发生改变  

        // var texts = ['f','g','a','w','b','h'];
        // console.log('原数组',texts)
        // var res = texts.sort(); //返回排序以后的数组
        // console.log('排序以后原数组',texts); // 原数组发生了改变 
        // console.log('返回值',res)

        // var texts = ['af','bg','aa','bw','ab','ah'];
        // // a 97 
        // // A  65
        // console.log('原数组',texts)
        // var res = texts.sort(); //返回排序以后的数组
        // console.log('排序以后原数组',texts); // 原数组发生了改变 
        // console.log('返回值',res)

        // var texts = [11,4,6,22,3,56,33,2]; 
        // 比较数字也是按照一位一位的  结果不正确  
        // console.log('原数组',texts)
        // var res = texts.sort(); //返回排序以后的数组
        // console.log('排序以后原数组',texts); // 原数组发生了改变 
        // console.log('返回值',res)



        // 如果我们排序数字 需要给sort 传个函数  

        // 如果函数的结果是正数 那么 升序 否则就是降序
        // var texts = [1213,2344,126,221,32,516,32233,1232]; 
        // console.log('原数组',texts)
        // // var res = texts.sort(function(a,b){return a-b});// 升序
        // var res = texts.sort(function(a,b){return b-a});// 降序

        // console.log('排序以后原数组',texts); // 原数组发生了改变 
        // console.log('返回值',res)

        // sort() 做了80%的工作  
        // 剩下的20% 等着你来发送指令 
        // function(a,b){return a-b}如果把这个实参传过去 
        // 就按照数字升序进行排序  
        // function(a,b){return b-a}如果把这个实参传过去 
        // 就按照数字降序进行排序  

        // 需求 在花木兰后边 插入小乔 大乔 王昭君  
        // var heros = ['李白','孙悟空','上官婉儿','花木兰','司马懿','赵云'];
        // console.log('原数组',heros);
        // // 从下标4的位置开始 截取0个元素 插入3个  司马懿 赵云依次往后移动
        // var res = heros.splice(4,0,'小乔','大乔','王昭君');
        // console.log('返回值',res);
        // console.log('执行以后的原数组',heros);

        //删除上官婉儿 花木兰 只删除 不添加
        // var heros = ['李白','孙悟空','上官婉儿','花木兰','司马懿','赵云'];
        // console.log('原数组',heros);
        // var res = heros.splice(2,2);
        // console.log('返回值',res);
        // console.log('执行以后的原数组',heros);

        // 需求: 
        //  把 孙悟空 上官婉儿 花木兰 替换成 李元芳  后羿 鲁班七号 孙尚香
        // var heros = ['李白','孙悟空','上官婉儿','花木兰','司马懿','赵云'];
        // console.log('原数组',heros);
        // var res = heros.splice(1,3, '李元芳','后羿', '鲁班七号','孙尚香');
        // console.log('返回值',res);
        // console.log('执行以后的原数组',heros);


        // 原数组 发生改变  


        // push  将元素插入到数组的末尾
        // pop   移除数组的最后一个元素
        // unshift 将元素插入到数组的开头
        // shift 移除数组的第一个元素
        // reverse 仅仅反转不排序 
        ///sort   对数组排序  默认是对字母  一位一位的 
        //  需要传入函数 实现对数字的排序 
        // splice  截取数组的某些元素 也可以插入相应的元素 
        // 实现对数组的增删改  

        // 原数组都发生了改变 


       

    </script>
</body>

</html>